Computing environments frequently employ cloud computing platforms, where “cloud” refers to a collective computing infrastructure that implements a cloud computing paradigm. For example, cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. Such computing environments are typically deployed and managed by service providers, who provide a computing environment for customers (tenants) to run their application programs (e.g. business applications or otherwise). The applications are typically run on one or more computing devices (i.e., host devices or hosts), and write data to and read data from one or more storage devices (e.g., hard disk drives, flash drives, etc.). The storage devices may be remote from the host devices (part of so-called “cloud storage”) and storage devices may be local to the host (part of so-called “primary storage”), e.g., part of the same computing device(s) that implement the host. In a data tiering hierarchy, the primary storage is typically considered a first storage tier and the cloud storage is typically considered a second storage tier. Also, it is to be understood that an enterprise (e.g., business, university, etc.) can implement a primary storage tier internal to the enterprise, and utilize cloud storage (external to the enterprise) through a service provider when needed.
Cloud storage provides relatively inexpensive and massive capacity with lower access performance and less enterprise-level data features. Such storage allows, for example, tiering cold/inactive data from primary (enterprise) storage to cloud enabling a cost-effective data management solution. Data services such as data deduplication are typically applied at the primary storage tier especially when the storage devices are flash-optimized storage to improve storage efficiency and also flash lifetime. Existing tiering solutions may also provide deduplication functions on the fly when a data set is loaded from primary storage to cloud storage typically using a tiering appliance.